// downloaded from http://www.willjessup.com/sandbox/jquery/form_validator/form_validate.html and customized
var errPrefix = 'chyba';
var valObj = $("#rpotvrzeni").attr("name");

new function() {
    $.fn.validate = {
        init: function(validatedObject) {
          if(validatedObject.name == 'email') {this.email(validatedObject)}
          if(validatedObject.name == 'heslo') {this.heslo(validatedObject)}
        },
        email: function(validatedObject) {
          var email  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
           if (validatedObject.value.match(email)) {
               if ((validatedObject.value.length > 64)) {
                    doError(validatedObject,'Email je moc dlouhý, max je 64 znaků');
                }
              doSuccess(validatedObject);
            } else {
              doError(validatedObject,'Email je ve špatném tvaru. Měl by být např. jmeno@slovo.cz');
            }
        },
        heslo: function(validatedObject) {
            var passLen = validatedObject.value.length;
            if (passLen  < 8) {
                doError(validatedObject,'Heslo je příliš krátké. Minimum je 8 znaků');
            } else {
                doSuccess(validatedObject);
            }

        }
        
     }

     function doSuccess(validatedObject) {
         var idOfErrEle = "#" + errPrefix + $(validatedObject).attr("id");
          $(idOfErrEle).hide();
          $(idOfErrEle).html("");
     }

     function doError(validatedObject,message) {
         var idOfErrEle = "#" + errPrefix + $(validatedObject).attr("id");
          $(idOfErrEle).slideDown();
          $(idOfErrEle).html(message);
     }

};
$.fn.match = function(matchedPair) {
	if ($(this).val() == $(matchedPair.match).val()) {
          $(matchedPair.error).hide();
          $(matchedPair.error).html("");
        } else {         
          $(matchedPair.error).slideDown();
          $(matchedPair.error).html("Heslo není shodné s původně zadaným");
        };
};

// TODO for check max and min lenght $.fn.range

$(document).ready(function()
{

  $("[class='validated']input").blur(function() {
          $(this).validate.init(this);
  });


  $("#rpotvrzeni").blur(function() {
          $(this).match({match: '#rheslo', error: '#chybarpotvrzeni'});
  });

});
/*   TODO example of validator for using database and ajax, mayebe later for mail
     function doValidate(o) {
        	$('#' + o.id + '_img').html('<img src="images/loading.gif" border="0" style="float:left;" />');
        	$.post('ajax.php', { id: o.id, value: o.value }, function(json) {
                  	eval("var args = " + json);
                        if (args.success == true)
                  	{
                  	  doSuccess(args);
                  	}
                  	else
                  	{
                          doError(args,args.msg);
                  	}
                  });

 **/